package cn.wl.pchart.dao;

import cn.wl.pchart.entity.Pchart;
import cn.wl.pchart.entity.Pinfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

// 纸飞机数据库处理接口
public interface PchartMapper {

    /**
     * 随机获取一只纸飞机
     * @return
     */
    public String getPchart();

    /**
     * 通过用户id获取某一时间点之前的一只纸飞机的pid
     * @param id
     * @param time
     * @return
     */
    public String getPchartsById(@Param("id") String id, @Param("time") String time);

    /**
     * 通过用户id获取他全部纸飞机的pid
     * @param id
     * @return
     */
    public List<String> getAllPchartsById(@Param("id") String id);

    /**
     * 通过pid获取对应的纸飞机
     * @param pid
     * @return
     */
    public Pchart getPchartByPid(@Param("pid") String pid);

    /**
     * 通过pid获取该纸飞机的全部附加信息（评论）
     * @param pid
     * @return
     */
    public List<Pinfo> getPfinos(@Param("pid") String pid);

    /**
     * 扔出一只纸飞机
     * @param id
     * @param data
     */
    public void sendPchart(@Param("id") String id, @Param("data") String data);

    /**
     * 删除pid对应的纸飞机
     * @param pid
     */
    public void deletePchart(@Param("pid") String pid);

    /**
     * 对对应pid的纸飞机进行一次评论，但只能评论一次
     * @param pid
     * @param id
     * @param data
     */
    public void commentPchart(@Param("pid") String pid,
                              @Param("id") String id,
                              @Param("data") String data);

}
